package cn.b.sky.mes.andon.service;

import java.util.List;

import cn.b.sky.mes.andon.model.AndonGroup;

/**
 * 
 * <strong>Title : AndonGroupService.java<br></strong>
 * <strong>Package : cn.b.sky.mes.andon.service<br></strong>
 * <strong>Description : </strong>按灯组服务接口<br> 
 * <strong>Create on : 2016年10月17日 上午9:19:21<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人|修改日期|修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface AndonGroupService {
  /**
   * 
   * <strong>Title : getAllAndonGroups<br></strong>
   * <strong>Description : </strong>获取所有的按灯组<br> 
   * <strong>Create on : 2016年10月17日 上午9:11:14<br></strong>
   * <p>
   * @param siteCode
   * @return
   * List<AndonGroup>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<AndonGroup> getAllAndonGroups(String siteCode);

  /**
   * 
   * <strong>Title : getAndonGroupByWorkUnit<br></strong>
   * <strong>Description : </strong>获取作业单元下的Andon组<br> 
   * <strong>Create on : 2016年10月17日 上午9:12:23<br></strong>
   * <p>
   * @param siteCode
   * @param workUnitCode
   * @return
   * List<AndonGroup>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<AndonGroup> getAndonGroupByWorkUnit(String siteCode, String workUnitCode);

  /**
   * 
   * <strong>Title : getAndonGroupByName<br></strong>
   * <strong>Description : </strong>获取作业单元下的某按灯组（名称不区分大小写）<br> 
   * <strong>Create on : 2016年10月17日 上午9:14:22<br></strong>
   * <p>
   * @param siteCode
   * @param workUnitCode
   * @param andonGroup
   * @return
   * AndonGroup
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  AndonGroup getAndonGroupByName(String siteCode, String workUnitCode, String andonGroup);

  /**
   * 
   * <strong>Title : insertAndonGroup<br></strong>
   * <strong>Description : </strong>保存按灯组<br> 
   * <strong>Create on : 2016年10月17日 上午9:16:32<br></strong>
   * <p>
   * @param group
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void insertAndonGroup(AndonGroup group);

  /**
   * 
   * <strong>Title : updateAndonGroup<br></strong>
   * <strong>Description : </strong>更新按灯组（并更新按灯组关系）<br> 
   * <strong>Create on : 2016年10月17日 上午9:16:50<br></strong>
   * <p>
   * @param group
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void updateAndonGroup(AndonGroup group);

  /**
   * 
   * <strong>Title : deleteAndonGroup<br></strong>
   * <strong>Description : </strong>删除按灯组（并删除按灯组关系）<br> 
   * <strong>Create on : 2016年10月17日 上午9:17:07<br></strong>
   * <p>
   * @param group
   * void
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  void deleteAndonGroup(AndonGroup group);
}
